Method and device for transmitting and processing print data used for printer

ABSTRACT

A method and a device for transmitting print data from a computer to a print control device for controlling a printer, wherein a desired one of attribute data sets which accompany respective image data sets is replaceable by a new image data set in a data transmission mode of the computer, and the attribute data set accompanying the original image data set replaced by the new image data set is suitably changed according to the new image data set. The print data including the new image data set and the changed attribute data set are transmitted to the print control device. The print data may include direct image data such as bit map data, and non-direct image data which include indirect image data such as character data and graphic data, and print control data such as attribute data. When a file name of any direct image data stored in a memory is included in the non-direct image data, the direct image data are retrieved from the memory, and transmitted to the print control device such that the retrieved direct image data and the non-direct image data are not interspersed with each other.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to a method of and a device fortransmitting print data in the data transmission mode of the device to aprint control device for controlling a printer, and also relates to suchprint control device. More particularly, this invention is concernedwith a technique for partial replacement or change of image dataincluded in the original print data before transmission of the changedimage data to the print control device together with print control datachanged so as to meet the partial replacement of the print data. Theinvention is also concerned with a technique for efficient transmissionof the print data from a device such as a word processor incorporating acomputer, and efficient processing of the print data received by theprint control device.

2. Discussion of the Prior Art

A printing system is known, wherein a print control device is interposedbetween a computer (e.g., a computer built in a word processor) and aprinter, for controlling the printer according to print data receivedfrom the computer. Generally, the print data include image data directlyor indirectly representing images to be printed, and print control dataincluding attribute data as well known in the art. The image datainclude direct image data such as bit map data, which are generated onthe basis of an output of an image scanner, for example. The directimage data also include data obtained by compression of such bit mapdata. Such compressed direct image data may include, for instance,run-length codes well known in the art. The image data also includeindirect image data such as character data or character codesrepresentative of characters such as letters, symbols and numerals, andgraphic data representative of graphic or pictorial representationsincluding straight and curved lines. The graphic data may be referred toas "outline data" representative of outlines of images to be reproduced.

The known printing system of the type indicated above suffers from aproblem when the user desires to partially replace or change the imagedata included in the original print data already prepared by and storedin the computer, after the computer is set in its data transmissionmode. Namely, the entire print data should be prepared again even whenthe image data in the original print data are partially replaced byother image data. It takes a considerable time to edit the originalprint data in the data transmission mode of the computer. Usually, theprint data include a large volume of image data, and a lot of time isrequired for the appropriate application program to read the entirevolume of the print data during processing for partial change orreplacement of the image data. Further, the change or replacement of theimage data itself requires a large length of time. Thus, an operation topartially change or replace the original image data leads to reducedefficiency of the printing system. In some cases, the applicationprogram does not permit partial editing of the original print data, thatis, requires preparation of an entirely new batch of print data asdesired by the user.

The print control device used in some printing systems is adapted to usea page description language. In this type of printing system, the imagedata and the print control data which are included in the print data aretransmitted from the computer to the print control device such that theimage data and the print control data are interspersed with each other.The print control device converts each one-page portion of the printdata received from the computer into a batch of raster image data,according to the print control data such as attribute data and variousprint control instructions. Each batch of raster image data is sent tothe printer for printing of the corresponding page.

Keeping pace with recent enhancement of resolution of an image input orreading device such as an image scanner, the amount of the direct imagedata in the form of bit map data, for instance, tends to increase perunit area of the image. This means an increase in the total volume ofthe print data, and the print control device is required to search forthe print control commands or instructions mixed or dispersed in thelarge volume of the bit map data, so that the bit map data are convertedinto the raster image data according to the print control commands orinstructions. Therefore, the efficiency of processing of the print databy the print control device tends to be lowered, and the time requiredfor the computer to transmit the print data to the print control devicetends to increase due to the relatively low processing efficiency on theside of the print control device.

SUMMARY OF THE INVENTION

It is therefore a first object of the present invention to provide amethod of transmitting print data from a computer to a print controldevice in the data transmission mode of the computer, which methodpermits easy change or replacement of image data included in alreadyprepared or original print data before the print data are transmitted tothe print control device.

It is a second object of the invention to provide a print datatransmitting device suitable for practicing the method according to thefirst object.

It is a third object of the present invention to provide a method oftransmitting print data including direct image data such as bit map dataand non-direct image data such as print control data, from a computer toa print control device, which method permits efficient processing of theprint data by the print control device, and reduced time of transmissionof the print data from the computer to the print control device.

It is a fourth object of this invention to provide a print datatransmitting device suitable for practicing the method according to thethird object.

It is a fifth object of the present invention to provide a print controldevice which is interposed between a computer and a printer and whichpermits high-speed printing with high resolution of reproduced images,according to direct image data such as bit map data.

The first object indicated above may be achieved according to one aspectof the present invention, which provides a method of transmitting printdata from a computer to a print control device in a data transmissionmode of the computer, for controlling a printer, the method comprising:(a) a classifying step of classifying the print data into a plurality ofsets of image data, and a plurality of sets of attribute data whichaccompany the sets of image data, respectively; (b) a replacing step ofreplacing each of at least one of the sets of image data by another setof image data stored in memory means, which another set of image data isincluded as a new set of image data in the print data; (c) a changingstep of changing each set of attribute data which accompanies eachoriginal set of image data replaced by the new set of image data, on thebasis of the new set of image data included in the print data in thereplacing step; and (d) a transmitting step of transmitting to the printcontrol device the print data including the new set of image data andthe set of attribute data changed in the changing step.

The present print data transmitting method permits replacement of anydesired sets of original image data of the print data by respective newsets of image data, and changing of the corresponding original attributedata sets to create new attribute data sets accompanying the new sets ofimage data, depending upon the new image data sets, while the computeris placed in the data transmission mode. The print data including eachnew image data set accompanied by the corresponding new attribute dataset are transmitted to the print control device. Thus, upon replacementof a certain one or more sets of the original image data by acorresponding new set or sets of image data, the corresponding new setor sets of attribute data is/are created on the basis of the position,size, color and other parameters of the image represented by thecorresponding new image data set. Thus, the print data to be transmittedto the print control device may be edited as needed in the datatransmission mode of the computer.

Generally, the image data included in the print data comprise directimage data such as bit map data, and/or indirect image data such ascharacter data representative of characters and graphic datarepresentative of graphical representations.

Each set of attribute data accompanying each image data set include, forexample, image position data, image size data, image color data andimage rotation data which represent the position, size, color, andattitude of an image represented by the image data set, and file namedata indicative of a name of an image of an image data set.

The replacing step indicated above may comprise: searching for a filename of each set of image data which is included in the sets ofattribute data; presenting the file name to an operator of the computer;and prompting the operator to approve of printing of an image by theprinter according to the set of image data identified by the file name,or replace the file name by another file for printing of an imageaccording to the new set of image data identified by that another filename.

The file name of a new set of image data may be entered through akeyboard provided on the computer, or by using a directory or a linkageeditor.

The transmitting step indicated above may comprise transmitting as afirst batch of data the attribute data which include the above-indicatedat least one set of attribute data changed in the changing step, andtransmitting as a second batch of data the image data which include thenew set of image data included in the print data in the replacing step,in a separate transmitting mode in which the first and second batches ofdata are not interspersed with each other.

The computer may be adapted to operate selectively in a separatetransmitting mode or a non-separate transmitting mode. In the separatetransmitting mode, the attribute data which include the above-indicatedat least one set of attribute data changed in the changing step aretransmitted as a first batch of data, and the image data which includethe new set of image data included in the print data in the replacingstep are transmitted as a second batch of data, such that the first andsecond batches of data are not interspersed with each other. In thenon-separate transmitting mode, the attribute data and the image dataare transmitted such that each set of attribute data accompanies thecorresponding image data set.

Before the image data are transmitted, the format of any sets of imagedata included in the print data may be changed to another formatcompatible with the print control device.

The changing step indicated above may comprise changing the set ofattribute data which accompanies each of the above-indicated at leastone set of image data, on the basis of at least the resolution, size andformat of the new set of image data.

The second object indicated above may be achieved according to a secondaspect of this invention, which provides a print data transmittingdevice for transmitting print data from a computer to a print controldevice for controlling a printer, in a data transmission mode of thecomputer, the print data transmitting device comprises: (a) print dataclassifying means for classifying the print data into a plurality ofsets of image data, and a plurality of sets of attribute data whichaccompany the sets of image data, respectively; (b) image data selectingmeans for selecting each of the sets of image data as an original set ofimage data included in the print data, or another set of image datastored in memory means, the data selecting means including the anotherset of image data in the print data as a new set of image data; (c)attribute data changing means for changing, if necessary, the set ofattribute data which accompanies the original set of image data, on thebasis of the new set of image data included in the print data by theimage data selecting means; and (d) data transmitting means fortransmitting to the print control device the print data including thenew set of image data and the set of attribute data changed by theattribute data changing means.

The present device constructed according to the second aspect of theinvention provides substantially the same advantages as the methodaccording to the first aspect of the invention discussed above.

The third object indicated above may be accomplished according to athird aspect of this invention, which provides a method of transmittingprint data from a computer to a print control device, in a datatransmission mode of the computer, for controlling a printer, the methodcomprising: (a) a retrieving step of retrieving a file name of each ofat least one set of direct image data stored in memory means, which filename is included in non-direct image data which are data other than thedirect image data and which comprise print control data for controllingat least a printing operation according to the direct image data, theprint data comprising the direct image data and the non-direct imagedata; and (b) a transmitting step of retrieving from the memory meanseach of at least one set of direct image data, on the basis of the filename retrieved in the retrieving step, and transmitting to the printcontrol device the above-indicated at least one set of direct image dataand the non-direct image data such that the at least one set of directimage data and the non-direct image data are not interspersed with eachother.

According to the present method described just above, each set of directimage data the file name of which is included in the print control dataof the non-direct image data is retrieved from the memory means, and theretrieved set of direct image data is transmitted to the print controldevice, separately from the non-direct image data such that the directimage data and the non-direct image data are not interspersed with eachother. The direct image data are image data such as bit map data whichdirectly represent an image to be printed, while the non-direct imagedata are data other than the direct image data. The non-direct imagedata may comprise indirect image data as well as the print control datawhich may include the file name of any set of direct image data. Theindirect image data are image data indirectly representing an image. Theindirect image data may comprise character data representative ofcharacters such as letters, symbols and numerals, and graphic datarepresentative of graphic or pictorial representations.

In the present method wherein the print control device receives thedirect image data and the non-direct image data as separate batches ofdata, the print control device does not have to examine the entire printdata for interpreting the print control data included therein, butexamines and interprets only the non-direct image data which include theprint control data and which may include indirect image data. Since thenon-direct image data do not include the direct image data such as bitmap data whose volume is generally comparatively large, the volume ofthe non-direct image data is comparatively small. Accordingly, thepresent method permits efficient processing of the print data by theprint control device, and reduction of the time required fortransmission of the print data from the computer to the print controldevice, owing to the reduced processing time required on the side of theprint control device.

The print control data included in the non-direct image data maycomprise attribute data as described above with respect to the firstaspect of the invention.

The fourth object indicated above may be accomplished according to thefourth aspect of this invention, which provides a print datatransmitting device for transmitting print data from a computer to aprint control device, in a data transmission mode of the computer, forcontrolling a printer, the print data transmitting device comprising:(a) file name retrieving means for retrieving each file name of directimage data stored in memory means, which file name is included innon-direct image data which are data other than the direct image dataand which comprise print control data for controlling at least aprinting operation according to the direct image data, the print datacomprising the direct image data and the non-direct image data; and (b)data transmitting means for retrieving from the memory means the directimage data, on the basis of each file name retrieved by the file nameretrieving means, and transmitting to the print control device thedirect image data and the non-direct image data such that the directimage data and the non-direct image data are not interspersed with eachother.

The print data transmitting device constructed as described aboveaccording to the fourth aspect of the invention offers substantially thesame advantages as the method according to the third aspect of theinvention discussed above.

The fifth object indicated above may be attained according to a fifthaspect of the present invention, which provides a print control deviceinterposed between a computer and a printer, for processing print datareceived from the printer so that the processed print data is availableon the printer, the print control device comprising: (a) a firstinterface circuit for receiving the print data from the computer; (b)memory means for storing the print data received by the first interfacecircuit, the print data comprising first direct image data, andnon-direct image data which are data other than the first direct imagedata and which comprise print control data for controlling at least aprinting operation according to the first direct image data; (c) datastorage controlling means for separately storing in the memory means thefirst direct image data as a direct image data file, and the non-directimage data as a non-direct image data file; (d) data converting meansfor interpreting the non-direct image data of the non-direct image datafile stored in the memory means, and converting, when the non-directimage data include indirect image data, the indirect image data intosecond direct image data; (e) data synthesizing means for synthesizingthe second direct image data obtained by the data converting means, andthe first direct image data stored in the memory means; and (f) a secondinterface circuit for transmitting to the printer the first and seconddirect image data as synthesized by the data synthesizing means.

In the present print control device, the memory means stores the printdata which are received from the computer through the first interfacecircuit, and which comprise first direct image data such as bit mapdata, and further comprise non-direct image data which are data otherthan the first direct image data and which comprise print control datafor controlling at least a printing operation according to the firstdirect image data. The data storage controlling means is adapted tostore the first direct image data and the non-direct image data as adirect image data file and a non-direct image data file, respectively,in the memory means. If any indirect image data such as graphic data orcharacter data are included in the non-direct image data, the indirectimage data are converted into second direct image data such as bit mapdata. The first and second direct image data are synthesized by the datasynthesizing means, and are transmitted to the printer through thesecond interface circuit.

The provision of the data storage controlling means for separatelystoring in the memory means the first direct image data and thenon-direct image data received from the computer permits the dataconverting means to examine and interpret only the non-direct imagedata, rather than the entire volume of print data received from thecomputer. The indirect image data if included in the print control dataof the non-direct image data are converted into second direct imagedata, and are combined with the first direct image data by the datasynthesizing means. Accordingly, the present method permits efficientprocessing of the received print data, and assures high-speed printingwith high resolution of reproduced images, according to the first andsecond direct image data such as bit map data.

The memory means may comprise an external memory, and the print controldevice may further comprise a dynamic memory having a smaller datastorage capacity than the external memory, and a direct memory accesscircuit for direct data transmission among the first and secondinterface circuits, the dynamic memory and the external memory.

In one advantageous form of the invention according to the fifth aspectof the invention described above, the print control device furthercomprises: a dual port memory having two ports so that each of memorycells of the dual port memory are accessible through the two ports; afirst processing unit connected to one of the two ports of the dual portmemory, for controlling data transmission among the dual port memory,the memory means and the second interface circuit; and a secondprocessing unit which is connected to the other of the two ports of thedual port memory and which functions as the data converting means andthe data synthesizing means.

According to a further aspect of this invention, there is provided amethod of processing print data received from a computer so that theprocessed print data is available on a printer, the method comprising:(a) a storing step of storing in memory means the print data receivedfrom the computer, such that first direct image data included in theprint data are stored as a direct image data file, while non-directimage data included in the print data are stored as a non-direct imagedata file, the non-direct image data being data other than the firstdirect image data and comprising indirect image data and print controldata for controlling at least a printing operation according to thefirst direct image data; (b) a converting step of interpreting thenon-direct image data of the non-direct image data file stored in thememory means, and converting the indirect image data into second directimage data; and (c) a synthesizing step of synthesizing the seconddirect image data obtained by the data converting means, and the firstdirect image data stored in the memory means; and (d) a transmittingstep of transmitting to the printer the first and second direct imagedata as synthesized in the step of synthesizing the second and firstdirect image data.

The above method has substantially the same advantages as the deviceconstructed according to the fifth aspect of the invention describedabove.

BRIEF DESCRIPTION OF TEE DRAWINGS

The above and optional objects, features, advantages of the presentinvention will be better understood by reading the following detaileddescription of presently preferred embodiments of the invention, whenconsidered in connection with the accompanying drawings, in which.

FIG. 1 is a view illustrating a printing system to which the presentinvention is applicable and which includes a computer, an ink jetprinter, and a print control device that processes print data receivedfrom the computer and provides the printer with the processed printdata;

FIG. 2 is a block diagram schematically showing an arrangement of thecomputer;

FIG. 3 is a block diagram schematically showing an arrangement of theprint control device;

FIG. 4 is a block diagram schematically showing an arrangement of asecond interface circuit of the print control device;

FIGS. 5 and 6 are block diagrams schematically showing an arrangement ofthe ink jet printer;

FIG. 7 is a block diagram schematically illustrating functional elementsof the computer associated with one embodiment of the present invention;

FIG. 8 is a flow chart illustrating a routine for processing print dataand transmitting the processed print data to the print control device inthe embodiment of FIG. 7;

FIG. 9 is a view for explaining the process of print data file by thecomputer, illustrating different forms of print data as received by theprint control device;

FIG. 10 is a view for explaining a print data storage controller of theprint control device;

FIG. 11 is a flow chart illustrating a routine executed by the printcontrol device for loading a dynamic memory of the print control devicewith a print control instruction interpreting program and an image datasynthesizing program;

FIG. 12 is a flow chart illustrating a routine executed by the printcontrol device for interpreting the print control instructions;

FIG. 13(a) is a view for explaining the conversion of a straight line ofgraphic data into segment data;

FIG. 13(b) is a view illustrating the segment data;

FIG. 14 is a flow chart illustrating a routine executed by the printcontrol device for synthesizing different sets of image data;

FIG. 15 is a block diagram corresponding to that of FIG. 6, illustratinganother embodiment of the present invention; and

FIG. 16 is a flow chart illustrating a routine for processing print dataand transmitting the processed print data to the print control device inthe embodiment of FIG. 15.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Referring first to FIG. 1, the printing system shown therein includes acomputer 100 which generates print data, a printer in the form of an inkjet printer 200, and a print control device 300 interposed between thecomputer 100 and the printer 200. The computer 100 takes the form of aword processor or a personal computer, for example. The computer 100 hasa connector 101 which is connected to a first interface connector 301 ofthe print control device 300 by a first cable 401. The printer 200 has aconnector 201 which is connected to a second interface connector 301 ofthe print control device 300.

As shown in FIG. 2, the computer 100 has an interface circuit 102connected to the connector 101 and a bus 106. The computer has a centralprocessing unit (CPU) 103, a random-access memory (RAM) 104, a hard diskdrive interface circuit 107, a video interface 109, and a keyboard 111,which are interconnected with each other by the bus 106. The RAM 104 isprovided to temporarily store various kinds of data used by the CPU 103.To the CPU 103, there is connected a read-only memory 105 which storesvarious control programs such as a program illustrated in the flow chartof FIG. 8, for processing print data and transmitting the processedprint data to the print control device 300.

The interface circuit 107 is connected to a hard disk device 108 whichfunctions to store print data, so that desired print data aresequentially transmitted to the print control device 300 through theinterface circuit 102 and the connector 101, under the control of theCPU 103. The keyboard 111 is used to enter various data such ascharacter codes as one kind of image data, and codes to specify filenames of the image data stored in the hard disk device 108, for example.The video interface 109 is connected to a cathode ray tube (CRT) 110.

The print data include image data relating to images to be printed bythe printer 200, and print control data used to control printingoperations on the basis of the image data. The image data are classifiedinto direct image data and indirect image data. The direct image datadirectly represent images to be printed, and generally takes the form ofbit map data, which are generated on the basis of an output of an imagescanner, for example. The direct image data may be such data as obtainedby compression of the bit map data. Such compressed direct image datamay include run-length codes, for instance. The indirect image dataindirectly represent images, and are used to generate the data which aredirectly used for printing. The indirect image data include characterdata or codes representative of characters such as letters, symbols andnumerals, and graphic data representative of graphic or pictorialrepresentations including straight and curved lines. The character dataand graphic data may be called "EPS (Encapsulated Postscript) data".

On the other hand, the print control data include attribute data andprint control instruction data for controlling the print control device300. Each set of image data is accompanied by a set of attribute data,which precedes the image data set. The attribute data include: imageposition data representative of the position at which an imagerepresented by the corresponding image data set is printed; image sizedata representative of the size of the image; image color datarepresentative of the color of the image; image rotation datarepresentative of the angular attitude of the image; window datarepresentative of a window associated with the image; and file name dataindicative of the name of a file of the corresponding set of image data.The print control instruction data include various print controlcommands or instructions, which usually follow a batch of image data andattribute data.

The computer 100 constructed as described above is connected through thefirst cable 401 to the first interface connector 301 of the printcontrol device 300, which in turn is connected at its second interfaceconnector 302 to the printer 200, as described above by reference toFIG. 1. Reference is now made to the block diagram of FIG. 3, todescribe the arrangement of the print control device 300.

The first interface connector 301 is connected to a first interfacecircuit 303, which is connected to a print data storage controller 320for controlling an operation to store the print data received from thecomputer 100 into a hard disk drive 309. The second interface connector302 is connected to a second interface circuit 350. The first and secondinterface circuits 303, 350 are connected to a first central processingunit (CPU) 305 through a bus 313.

The bus 313 is also connected to a first dynamic memory 306, a thirdinterface circuit 307, a dual port memory 308, and a dynamic memoryaccess controller (DMAC) 314. The third interface circuit 307 isconnected to the hard disk drive 309. This hard disk drive 309 storesprograms for interpreting the print control instructions, and programsfor converting the image data eventually into raster image data asdescribed below. The dual port memory 308 has two ports one of which isconnected to the bus 313, and the other of which is connected to asecond central processing unit (CPU) 310 and a second dynamic memory 311through another bus 312. It is noted that address buses and variouscontrol signals used in the print control device 300 are not shown, inthe interest of simplification and brevity.

The second interface circuit 350 is shown in detail in the block diagramof FIG. 4. This interface circuit 350 includes a first-in first-outmemory (FIFO) 351 which is connected at its input to the bus 313. Theoutput of the FIFO 351 is connected to a driver 352, which in turn isconnected to the second interface connector 302. The second interfacecircuit 350 further includes a receiver 353 which is connected to thesecond interface connector 302 to receive a READY signal therefrom. TheREADY signal received by the receiver 353 is sent to a control circuit354, as indicated at 358. The control circuit 354 is connected to thedriver 352 and the FIFO 351, so that a DATA CLOCK signal 356 and a READsignal 359 are fed from the circuit 354 to the driver 352 and the FIFO351, respectively, and so that an EMPTY flag 357 is fed from the FIFO351 to the control circuit 354. For the control circuit 354 to generatethe DATA CLOCK signal 356 and the READ signal 359, the control circuit354 receives a CLOCK signal 360 from a clock generator 355.

The second interface connector 302 of the print control device 300 isconnected through the second cable 402 (FIG. 1) to the interfaceconnector 201 of the ink jet printer 200, as described above. Theprinter 200 will be described in detail by reference to the blockdiagram of FIGS. 5 and 6.

The interface connector 201 is connected to a receiver 202 and a driver203, as shown in FIG. 5. The receiver 202 receives raster image data(described later) which are received from the print control device 300through the interface connector 201 The driver 203 is connected to aninterface control circuit 204, so that a READY signal 220 generated bythe interface control circuit 204 is sent to the interface connector 201through the driver 203. The receiver 202 is connected to the interfacecontrol circuit 204 and a first-in first-out memory (FIFO) 205, so thata DATA CLOCK signal 221 from the interface connector 201 is sent to theinterface control circuit 204 through the receiver 202, and so that theraster image data is sent to the FIFO 205 through the receiver 202. TheFIFO 205 is connected to the interface control circuit 204, so that aWRITE signal 222 generated by the interface control circuit 204 is sentto the FIFO 205, while a FULL flag 223 generated by the FIFO 205 is sentto the circuit 204. The FULL flag 223 indicates that the FIFO 205 isfull of the data received from the receiver 202 in response to the WRITEsignal 222.

The ink jet printer 200 uses a central processing unit (CPU) 206connected to an output of the FIFO 205 through a bus 230. The CPU 206 isalso connected to a dynamic memory 207 and four data memories 209-212.These data memories 209-212 correspond to four different colors. Thatis, the data memories 209-212 are connected to four head controlcircuits 213-216 through respective lines 224-227, as shown in FIG. 6.The four head control circuits 213-216 are connected to respective inkjet heads 251-254 each having a single ink jetting nozzle 256. The inkjet heads 251-254 are provided with ink supply conduits 260-263connected to respective ink reservoirs. The ink jet heads 251-254receive HEAD CONTROL signals generated from the respective head controlcircuits 213-216, so that the delivery of the ink from the nozzles 256are controlled according to the raster image data received from theprint control device 300. For instance, the ink supply conduits 260-263are connected to reservoirs of black, yellow, magenta and cyan inks.

The four ink jet heads 251-254 are spaced from each other by apredetermined distance along a platen 269 which supports a recordingmedium 264 such as a sheet of paper. The platen 269 is connected to adrive shaft 265, which in turn is connected a drive motor 267 by a belt268, so that the platen 269 coaxial with the drive shaft 265 is rotatedabout its axis. A rotary encoder 266 is attached to the end of the driveshaft 265, so that a timing signal generated by the encoder 266 isapplied to a data reading control circuit 208, which applies a READsignal 228 to the data memories 209-212, as indicated in FIGS. 5 and 6.The four ink jet heads 251-254 are fixed to a suitable carriage so thatthe four heads 251-254 are movable as a unit in the axial direction ofthe platen 269.

Referring next to FIGS. 7-9, there will be described the functions ofthe computer 100, which are performed by executing the routine of FIG. 8the program of which is stored in the ROM 105. FIG. 7 indicatesfunctional elements of the computer 100, which include a print datainput portion 501, a print data file processor 500, a print control dataoutput portion 506 and an image data output portion 507. The print datainput portion 501 functions to read out or retrieve a batch of printdata from the hard disk device 108, and the print data file processor500 processes the retrieved print data, before the processed print dataare transmitted to the print control device 300 through the outputportions 506, 507, as described below in detail.

The print data file processor 500 includes a print data classifier 502,a print control data modifier 503, a file name retrieving portion 504,and an image data base searcher 505. The print data classifier 502 isprovided to classify the print data into the image data, and the printcontrol data which consist of the attribute data and the print controlinstructions, as described above. Each of two or more sets of image dataof the print data is accompanied by a corresponding set of attributedata which represent the file name of the corresponding image data andalso represent the position, size, color and attitude of the imagerepresented by the corresponding image data set.

The print control data modifier 503 is provided to change the attributedata when the user of the printing system has replaced a certain set ofimage data in the original batch of print data in the data transmissionmode of the computer 100, before the desired batch of print data istransmitted to the print control device 300. Described morespecifically, when a set of image data is replaced by a new set of imagedata, it may be necessary to change the image position data and theimage size data of the attribute data. For instance, where theresolution of the new set of image data is different from that of theoriginal set of image data, the image position and size should bechanged. Further, the attribute data should be changed if the type ofthe new set of image data is different from that of the original set ofimage data. For instance, the attribute data should be changed if a setof bit map data (direct image data) is replaced by a set of characterdata or graphic data (indirect image data or EPS data).

The file name retrieving portion 504 is adapted to retrieve file namesincluded in the print control data of the print data file. The filenames identify respective sets of image data of the print data. Theretrieved file names are stored in the hard disk device 108 or RAM 104.The image data base searcher 505 operates to scan an image data basestored in the hard disk device 108, for searching for image data setsidentified by the file names retrieved by the file name retrievingportion 504. The print control data output portion 506 and the imagedata output portion 507 function to transmit the print control data andthe image data to the print control device 300, in the forms that can beunderstood by the print control device 300.

The functional elements 501-507 of the computer 100 cooperate to executethe routine illustrated in FIG. 8 while the computer 100 is placed inits data transmission mode. The routine is initiated with step S10wherein the print data classifier 502 first determines whether any setof image data is included in the print data file (indicated at F1 inFIG. 9) retrieved from the hard disk memory 108 by the print data inputportion 501. This determination is accomplished by checking if the filename of any set of image data is included in the print control data ofthe print data.

If the first set of image data is detected by finding the correspondingfile name included in the first set of attribute data, the control flowgoes to step S11 in which the initial portion of the print data whichprecedes the detected first set of image data is stored in the RAM 104as a first attribute data file 1, as indicated at F2 in FIG. 9. Step S11is followed by step S12 in which the file name retrieving portion 504displays the file name of the first set of image data on the CRT 110.That is, the file name included in the first attribute data file 1preceding the first set of image data is displayed on the CRT 110. Atthis time, the CRT 110 also provides a message prompting the operator ofthe computer 100 to either confirm that the first set of image dataidentified by the file name displayed should be included in the printdata file to be transmitted to the print control device 300, or operatethe keyboard 111 to enter or specify the file name of a new set of imagedata which replaces the original set of image data whose file name isdisplayed on the CRT 110.

Then, the control flow goes to steps S13 and S14 in which the image database searcher 505 scans the image data base to search for the set ofimage data whose file name is displayed on the CRT 110 or enteredthrough the keyboard 111. If the corresponding set of image data isfound in the image data base, step S14 is followed by step S15. If thecorresponding set of image data is not found, the control flow goes backto step S12 in which the CRT 110 provides an indication that the imagedata set corresponding to to the file name in question is not stored inthe hard disk device 108. In this case, the operator should specify thefile name of another set of image data stored in the hard disk device108.

If the image data set is found in the hard disk memory 108, step S15 isimplemented to delete the first set of attribute data and the first setof image data set from the print data file as retrieved by the printdata input portion 501. Then, step S16 is implemented to activate theprint control data modifier 503 to change the attribute data file 1temporarily stored in the RAM 104, if any change of this attribute datafile 1 is necessary due to replacement in step S12 of the original setof image data by a new set of image data. Described more specifically,the resolution and size of the new set of image data are compared withthose of the original set of image data, to determine whether theposition data and size data of the attribute data should be changed tomeet the format of the new set of image data, so that the image asprinted on the basis of the new set of image data can be suitablylocated and sized.

Then, the control flow goes back to step S10 to determine whether thefile name of another set of image data is present in the remainingportion of the retrieved print data file. Steps S11-S16 are implementedagain for the second set of attribute data (second set of image data),so that the second attribute data file 2 is stored in the RAM 104, andthis file 2 is changed as needed depending upon whether the originalsecond set of image data is replaced by a new set of image data. Thus,steps S10-S16 are repeatedly implemented until the last set of attributedata is stored in the RAM 104. Thus, the batch of attribute data filesincluding the file names of the image data sets is stored in the RAM104, while the image data sets included in the print data file arestored in the hard disk device 108, whereby the print data file isclassified into the attribute data sets and the image data sets.

If the file name of any image data set is not found in the print datafile, namely, if steps S11-S16 have been implemented for all sets ofattribute data and image data, a negative decision (NO) is obtained instep S10, and the control flow goes to step S17 in which the remainingportion of the print data file is stored in the RAM 104 as a printcontrol instruction file, as indicated at F2 of FIG. 9. Step S17 isfollowed by step S18 in which the print control data output portion 506arrange all the attribute data files and the print control instructionfile as indicated at F3 in FIG. 9, and transmit these attribute datafiles and print control instruction file as a batch of print controldata to the print control device 300, as indicated at F3 and F4 in FIG.9.

Then, the control flow goes to step S19 in which the image data outputportion 507 operates to check if the format of any set of image datashould be changed to the format compatible with the print control device300. In step S19, the format is changed if necessary for any sets ofimage data. For instance, if the print control device 300 is adapted touse an interleaved format, the image data sets of non-interleaved formatshould be changed to the interleaved format. Then, the image data filesare transmitted to the print control device 300 as a batch of imagedata, as indicated at F3 and F4.

As indicated above, the print data file as retrieved by the print datainput portion 501 includes two or more sets of image data each precededby a set of attribute data, as indicated at F1 in FIG. 9. Each set ofattribute data includes the file name of the following set of imagedata. The attribute data and the print control instruction data areretrieved from the print data file, as indicated at F2, and stored inthe RAM 104 as attribute data files and print control instruction fileas indicated at F3. Further, the file name of any set of image data canbe changed as desired in step S12, and the new file name is included inthe appropriate attribute data file temporarily stored in the RAM 104.If necessary, the attribute data files for the new sets of image dataare changed by the print control data modifier 503. The image data setscorresponding to the file names included in the attribute data files areretrieved from the hard disk device 108, and transmitted to the printcontrol device 300, separately from the print control data, as indicatedat F3 and F4. It is noted that F4 indicates a batch of print data asreceived by the print control device 300. Thus, the batch of image dataand the batch of print control data are transmitted to the print controldevice 300 in a separate transmission mode such that the sets of imagedata are not interspersed with the sets of attribute data and printcontrol instruction data.

The file names included in the print control data represent the filenames of direct image data such as bit map data, or the file names ofindirect image data such as character code data and graphic data.Accordingly, the image data received by the print control device 300 mayinclude such bit map data, character code data and graphic data, aloneor in combination.

Referring further to FIGS. 10-14, there will be described operations ofthe print control device 300 and the ink jet printer 200.

When the batch of print control data and the batch of image data fromthe computer 100 are received by the first interface circuit 303 of theprint control device, the first CPU 305 activates the print data storagecontroller 320, which recognizes the first received batch as printcontrol data PRINT.Con., and the secondly received batch as image dataIMAGE. These print control data PRINT.Con and the image data IMAGE arestored in the hard disk drive 309. The sets of image data aresequentially written in the hard disk drive 309 as IMAGE₋₋ 000, IMAGE₋₋001, . . . IMAGE₋₋ nnn.

Since the image data IMAGE are merely transferred to the hard disk drive309 without interpretation thereof, the image data IMAGE can be storedin the hard disk drive 309 in a relatively short time, even when thevolume of the image data is considerable. Accordingly, the computer 100is freed from the data transmission in a relatively short time. Further,since the entire batch of print data are stored in the hard disk drive309, the capacity of the first dynamic memory 306 used to store theraster image data as described below can be reduced.

After the entire print data have been stored in the hard disk drive 309,the first CPU 305 sends to the dual port memory 308 a command requestingthe second CPU 310 to interpret the print control data. In response tothis command received from the dual port memory 308, the second CPU 310sends to the dual port memory 309 a command requesting the first CPU 305to retrieve the print control data from the hard disk drive 309 andstore the print control data in the dual port memory 308. In response tothis command, the first CPU 305 stores the print control data in thedual port memory 308. Then, the second CPU 310 starts an operation tointerpret the print control data, and stores in the second dynamicmemory 311 data obtained as a result of the interpretation of the printcontrol data.

The hard disk drive 309 stores the programs for interpreting the printcontrol data, and programs for converting the image data eventually intoraster image data, as indicated above. These programs are written in thedual port memory 308 according to a routine illustrated in FIG. 11.Initially, the routine is initiated with step S1 wherein the second CPU310 sends to the dual port memory 308 a READ command requesting thefirst CPU 305 to retrieve the print control data interpreting programand image data synthesizing program from the hard disk drive 309 andstore these programs in the dual port memory 308. Step S1 is followed bystep S2 in which the first CPU 305 reads out the programs from the harddisk drive 309 and stores the programs in the dual port memory 308.

Then, the control flow goes to step S3 in which the second CPU 310transfers the programs from the dual port memory 308 to the seconddynamic memory 311. Step S3 is followed by step S4 in which the secondCPU 310 starts interpreting the print control data according to theprint control data interpreting program. The interpretation of the printcontrol data by the print control device 300 will be described indetail, by reference to the flow chart of FIG. 12.

Initially, step S20 is implemented to read the first set of printcontrol data, which is usually a set of attribute data. Then, step S21is implemented to determine whether the print control data setrepresents the file name of any bit map data set which is received andstored in the hard disk drive 309. If a negative decision (NO) isobtained in step S22, this means that the print control data setrepresents the file name of a set of graphic data (or character data),and the control flow goes to step S22 in which the graphic data set isconverted into segment data 610 as indicated in FIG. 13(b). If the printcontrol data set represents the file name of any set of bit map datastored in the hard disk drive 309, step S21 is followed by step S23 inwhich the bit map data set is converted into segment data 610. Step S22and S23 are followed by step S24 in which the segment data 610 arestored in the second dynamic memory 311. If the dynamic memory 311 isfull, the segment data 610 may be temporarily stored in the hard diskdrive 309. However, the hard disk drive 309 may be used to always storethe segment data 610.

Then, the control flow goes to step S25 to determine whether any set ofprint control data is left. Steps S20-S25 are repeatedly implementeduntil the segment data 610 for all the file names included in the printcontrol data are stored in the dynamic memory 311 or hard disk memory309.

An example of the segment data 610 is illustrated in FIG. 13(b), whichis obtained by converting a set of graphic data (non-direct image data)representative of two straight lines indicated in FIG. 13(a). The twostraight lines are initially converted into X and Y coordinate values ofpicture elements whose areas are bisected by either one of the straightlines, as indicated by hatched areas in FIG. 13(a). The segment data 610are defined in the X-Y coordinate system in which the Y axis correspondsto the axial direction of the platen 269 in which the ink jet heads251-254 of the ink jet printer 200 are moved, while the X axiscorresponds to the rotating direction of the platen 269, in whichprinting by each head 251-254 is effected as described below. Each setof segment data 610 obtained from graphic data as in the present examplecomprises segment start data 602 indicative of the beginning of asegment along the X-axis, segment end data 603 indicative of the end ofthe segment, color data 604 indicative of the color of the segment, andconnection data 605 indicative of a pointer in the list. The segmentdata sets 610 may be sequentially added in the form of a list.

In the case that a set of segment data is obtained from bit map data(direct image data), the color data 604 are replaced by file name data604 indicative of the file name of the bit map data, which file name isgiven by the print data storage controller 320. For instance, the colordata 604 represent a color number selected from "0" through "255" whilethe file name data 604 represent a file name number which is "256" orlarger. Since each set of segment data 610 obtained from graphic datacomprises the color data 604 while each set of segment data 610 obtainedfrom bit map data comprises file name data 604, it is possible todetermine whether each set of segment data has been obtained from thegraphic data or the bit map data.

If a negative decision (NO) is obtained in step S25, that is, if thesegment data for the entire print data have been stored in the seconddynamic memory 311, the control goes to the next processing operation inwhich the second CPU 310 first applies a print start command to the dualport memory 308. In response to the print start command received fromthe dual port memory 308, the first CPU 305 sends to the secondinterface circuit 350 a print start command to start the ink jet printer200. In the meantime, the second CPU 310 starts to convert the segmentdata 610 stored in the second dynamic memory 311 into the correspondingraster image data, as described below. The raster image data are sent tothe first-in first-out memory 351.

When the READY signal 358 is present, the control circuit 354 of thesecond interface circuit 350 applies the READ signal 359 to the first-infirst-out memory FIFO 351 so that the print start command is fed to thedriver 352, while the control circuit 354 applies the DATA CLOCK signal356 to the driver 352, so that the driver 352 sends the print startcommand and the DATA CLOCK signal 356 to the receiver 202 of the printer200. The receiver 202 sends the DATA CLOCK signal 221 to the interfacecontrol circuit 204, in synchronization with the DATA CLOCK signal 356,whereby the WRITE signal 222 is feed from the interface control circuit204 to the first-in first-out memory FIFO 205, so that the print startcommand and the raster image data are received by the FIFO 205 insynchronization with the DATA CLOCK signal 356 (221). Thus, the printstart command and print commands based on the the raster image data aresent one after another to the FIFO 205 of the printer 200, until theEMPTY flag signal 357 is generated from the FIFO 351 of the printcontrol device 300, or until the FULL flag signal 223 is generated fromthe FIFO 205 of the printer 200.

The CPU 206 of the printer 200 sequentially reads out the print startcommand and print commands from the FIFO 205. When the print startcommand is received, the CPU 206 commands a driver circuit (not shown)to activate the motor 267 to rotate the platen 269 for rotating therecording medium 264 with the platen. In this respect, it is noted thatprinting is effected on the recording medium 264 while the platen 269 iscontinuously rotated and the print heads 251-254 are intermittently fedin the axial direction of the platen 269. Each time the platen 269 isrotated one full turn, the heads 251-254 are fed by a predetermineddistance. The rotating direction of the platen 269 (recording medium264) corresponds to the horizontal raster scan line (main scanningdirection or X-axis direction) while the direction of movement of theheads 251-254 corresponds to the vertical raster scan line (auxiliaryscanning direction or Y-axis direction). Generally, a sheet of paper asthe recording medium is wound on the platen 269 such that the long sidesof the sheet parallel to the vertical or Y-axis scanning direction isparallel to the axis of the platen 269 while the short sides parallel tothe horizontal or X-axis scanning direction is parallel to the rotatingdirection of the platen. One horizontal raster scan line corresponds toone full rotation of the platen 269 and to the predetermined distance ofintermittent movement of the heads 251-254. The number of rotations ofthe platen 269 corresponds to the number of the vertical raster scanlines. The printing is considered to take place in the rotating orcircumferential direction of the platen 269.

Referring to the flow chart of FIG. 14, there will be described anoperation of the second CPU 310 to convert the segment data into theraster image data. A routine illustrated in FIG. 14 is referred to as"image data synthesizing routine" since the routine is adapted tosynthesize the segment data obtained from graphic data and the segmentdata obtained from bit map data, into raster image data representativeof a combination of images originally represented by the graphic dataand the bit map data, if the original print data consist of such graphicdata and bit map data. The routine is initiated with step S31 in whichthe second CPU 310 reads out from the second dynamic memory 311 a groupof segment data 610 corresponding to one horizontal raster scan line.The group of segment data 610 consists of one or more sets of segmentdata 610. Step S31 is followed by step S32 in which the second CPU 310retrieves one set of segment data 610. Then, the control flow goes tostep S33 to determine whether the set of segment data 610 in questionhas been obtained from graphic data (or character data) or bit map data.This determination is effected based on whether the segment data setcomprises the color data 604 or the file name data 604. If the colordata 604 are included in the segment data set 610, this means that thesegment data set 610 has been obtained from a set of graphic data, andthe control flow goes to step S34 in which the segment data set 610 isconverted into a corresponding set of raster image data. If the filename data 604 are included in the segment data set 610, step S33 isfollowed by step S35 in which a set of raster image data is preparedbased on the bit map data identified by the file name represented by thefile name data 604. Steps S34 and S35 are followed by step S36 todetermine whether the group of segment data 610 corresponding to onehorizontal raster scan line includes another set of segment data 610. Ifan affirmative decision (YES) is obtained in step S36, the control flowgoes back to step S32. Steps S32-S36 are repeatedly implemented untilthe raster image data have been obtained for the group of segment dataretrieved in step S31. The routine of FIG. 14 is executed for all groupsof segment data 610 corresponding to all the horizontal raster scanlines which cover the width of an image printed on the recording medium264. That is, the routine is executed for each group of segment data 610obtained from the entire print data received from the computer 100. Theraster image data obtained in steps S34 and S35 for each horizontal scanline are temporarily stored in the dual port memory 308.

The first CPU 305 transfers a group of raster image data correspondingto one horizontal scan line, from the dual port memory 308 into thefirst dynamic memory 306, and commands the dynamic memory accesscontroller DMAC 314 to write the group of raster image data in the FIFO351 of the second interface circuit 350. Accordingly, the requiredstorage capacity of the first dynamic memory 306 corresponds to onehorizontal raster scan line. This required capacity is extremely smallerthan that of a memory in a printing system wherein raster image data foran entire page are stored in the memory. When the FIFO 351 is full ofthe raster image data, the dynamic memory access controller 314interrupts the transfer of the raster image data from the first dynamicmemory 306 to the FIFO 351. When the EMPTY flag signal 357 is generatedby the FIFO 351, the dynamic memory access controller 314 startstransferring the raster image data into the FIFO 351. While the transferof the raster image data to the FIFO 351 is interrupted, the first CPU305 can command the second CPU 310 to retrieve the next group of segmentdata 610 from the second dynamic memory 311, or can start transferringthe next group of raster image data from the dual port memory 308 to anempty area of the first dynamic memory 306. It is noted that the secondCPU 310 can continue to operate to convert the segment data (bit mapdata) into the raster image data, irrespective of whether the bus 313 iscurrently occupied or not.

As described above, the group of the raster image data is sent from theFIFO 351 to the FIFO 205 of the printer 200 after the print startcommand is applied to the FIFO 205. The CPU 206 temporarily stores theraster image data in the dynamic memory 207. Where the raster image datahave been obtained from graphic data, that is, obtained from segmentdata 610 comprising the color data 604, each group of raster image datafor the corresponding horiazontal raster scan line consists of fourcomponents corresponding to the cyan, magenta, yellow and black inks,that is, the four print heads 254, 253, 252 and 251. Initially, the CPU206 applies the cyan component (cyan raster image data) to the fourthdata memory 212, and commands the data reading control circuit 208 tostart a printing operation by the cyan head 254 for the first horizontalraster scan line. As a result, the control circuit 208 transfers thecyan raster image data from the data memory 212 to the fourth headcontrol circuit 216, in synchronization with the output signal of therotary encoder 266.

The head control circuit 216 activates the cyan ink jet head 254 to jeta droplet of a cyan ink toward the recording medium 264 at selectedpicture element positions along the first horizontal raster scan lineaccording to the cyan raster image data while the platen 269 is rotatedone full turn. As a result, cyan ink dots are selectively produced alongthe appropriate horizontal raster scan line. Then, the print heads251-254 are moved by the one-dot distance (corresponding to onehorizontal raster scan line) in the axial direction of the platen 269,and cyan ink dots are selectively formed by the cyan head 254 along thesecond horizonal raster scan line according to the cyan raster imagedata for that scan line, during the next or second rotation of theplaten 269. Simultaneously, that is, during the second rotation of theplaten 269, the magenta head 253 is activated according to the magentaraster image data from the third head control circuit 215, wherebymagenta ink dots are selectively formed along the first horizontalraster scan line.

Then, the print heads 251-254 are moved by another one-dot distance inthe axial direction of the platen 269, whereby the cyan, magenta andyellow heads 254, 253, 252 are aligned with the third, second and firsthorizontal raster scan lines, respectively. These heads 254, 253, 252are activated according to the respective cyan, magenta and yellowraster image data, whereby yellow ink dots are selectively formed alongthe first vertical scan line, while cyan and magenta ink dots areselectively formed along the third and second horizontal raster scanlines, respectively. Then, the print heads 251-254 are moved by anotherone-dot distance, whereby the black head 251 is aligned with the firsthorizontal raster scan line. The four heads 251-254 are thensimultaneously activated according to the respective raster image dataduring a further rotation of the platen 269. As a result, the firstraster scan line is printed in full color. Thereafter, the four heads251-254 are simultaneously activated during the following rotations ofthe platen 269, until the cyan ink dots are formed along the lasthorizontal raster scan line by the cyan head 254. In the next rotationof the platen 269, only the magenta, yellow and black heads 253, 252,251 are simultaneously operated. When the black head 251 finally reachesthe last horizontal raster scan line, only this head 251 is operated toform black ink dots along the last scan line. Thus, the entire image isprinted in full color according to successive groups of raster imagedata corresponding to all the horizontal raster scan lines.

As indicated above, the four heads 254, 253, 252 and 251 aresimultaneously operated, except for the initial and terminal portions ofthe moving stroke of the heads in the axial direction of the platen 269.The length of those initial and terminal portions corresponds to thedistance of offset between the black and cyan heads 251, 254 in theaxial direction of the platen 269. The printing operations of the heads251-254 are started in the order beginning with the head 254, and areterminated in the same order.

The required capacity of the dynamic memory 207 which stores the rasterimage data corresponds to the amount of the raster image data for onevertical scan line multiplied by the number of dots or picture elementswhich corresponds to the above-indicated offset distance between theblack and cyan heads 251 and 254. If the four heads 251-254 are arrangedin the circumferential direction of the platen 269 such that the heads251-254 are not offset from each other in the axial direction of theplaten 269, the required capacity of the dynamic memory 207 is equal tothe amount of raster image data for one vertical scan line. Thus, therequired capacity of the dynamic memory 207 is extremely smaller thanthe amount of raster image data for one page.

In the present embodiment, the four heads 251-254 are movedintermittently in the axial direction of the platen 269 while the platen269 is continuously rotated such that the distance of each intermittentmovement of the heads 251-254 corresponds to one vertical scan line andone rotation of the platen 269. However, the heads 251-254 may be movedcontinuously while the platen 269 is continuously rotated such that thedistance of movement of the heads corresponding to one full rotation ofthe platen 269 corresponds to one horizontal raster scan line.

Where the raster image data correspond to the segment data 610corresponding to bit map data of the original print data, only the blackink jet head 251 is activated to effect printing in black along eachhorizontal raster scan line.

Referring next to FIGS. 15 and 16, there will be described a modifiedembodiment of the present invention, wherein a print data output portion508 shown in FIG. 15 is substituted for the print control data outputportion 506 and the image data output portion 507 of FIG. 7. This printdata output portion 508 cooperates with the print data input portion 501and the print data file processor 500 to execute a routine illustratedin FIG. 16, which corresponds to the routine of FIG. 8.

In this modified embodiment, a print data file consists of direct imagedata in the form of bit map data, and non-direct image data or non-bitmap data. The non-bit map data include the print control data (attributedata and print control instruction data) as defined above with respectto the first embodiment, and indirect image data such as character datarepresentative of characters and graphic data representative ofgraphical or pictorial representations such as graphs and picturesincluding straight and curved lines. Each set of bit map data isaccompanied or preceded by a set of attribute data. Further, the printcontrol data (as part of the non-direct image data or non-bit map data)may include the file name or names of a set or sets of bit map data.

The routine of FIG. 16 is initiated with step S40 to determine whetherthe file name of any bit map data file stored in the hard disk memory108 is included in the print control data of the original print datafile. If any file name of bit map data file is not included in the printcontrol data, the routine is terminated, and the control goes to a nextprocessing operation as required. If the file name of any bit map datafile is detected in the print data file, step S40 is followed by stepS41 in which the detected file name is displayed on the CRT 110, and theoperator is prompted to enter the file name of another or new set of bitmap data through the keyboard 111, if the operator desires to replacethe original bit map data set by the new bit map data set.

Then, the control flow goes to steps S42 and S43 to scan the bit mapdata base to search for the bit map data file identified by the filename displayed on the CRT 110 or entered through the keyboard 111. Ifthe appropriate bit map data file is not found in the hard disk device108, the control flow goes back to step S41, in which the operator isprompted to change the file name, that is, enter the file name ofanother new bit map data file stored in the hard disk device 108. If theappropriate bit map data file is found in the hard disk device 108, stepS43 is followed by step S44 in which the non-bit map data including theprint control data, and indirect image data such as character data andgraphic data (if included in the print data file) are transmitted to theprint control device 300. The file name included in the print controldata informs the print control device 3000 that the corresponding bitmap data set will be transmitted separately. Then, the control flow goesto step S45 to determine whether the format of the bit map data setidentified by the file name included in the print control data should bechanged to meet the format compatible with the print control device 300.If an affirmative decision (YES) is obtained in step S45, the controlflow goes to step S46 to change the format of the bit map data set asneeded. Then, step S47 is implemented. If a negative decision (NO) isobtained in step S45, this step S45 is directly followed by step S47. Instep S47, the bit map data identified by the file name (originallyincluded in the print control data or entered through the keyboard 111)are retrieved from the hard disk device 108, and transmitted to theprint control device 300. Thus, the non-bit map data (print control dataand indirect image data) and the bit map data (direct image data) aretransmitted to the print control device 300 separately from each other.

In the present second embodiment, too, the print control device 300examines only the non-bit map data to interpret the print control data,and does not have to examine the received print data including a largevolume of bit map data, and the processing time required by the printcontrol device 300 can be reduced.

While the present invention has been described above in its presentlypreferred embodiments, it is to be understood that the invention is notlimited to the details of the illustrated embodiments, but may beotherwise embodied.

For instance, the ink jet printer 200 may be replaced by any other typeof printer such as a thermal printer, and the hard disk drive 309 of theprint control device 300 may be replaced by an electro-optic disk deviceor a tape drive device. The print control device 300 may be adapted toreceive image data of non-interleaved format, such as image dataaccording to TIFF (Tag Image File Format) or PICT.

In the illustrated first embodiment, the image data and the printcontrol data are transmitted to the print control device 300 in theseparate transmission mode such that the sets of image data are notinterspersed with the sets of attribute data and print controlinstruction data. However, if the print control device 300 is notadapted to receive a batch of print data from the computer 100 in theseparate transmission mode as indicated at F4 in FIG. 9, the image dataand the print control data may be transmitted to the print controldevice 300 in a non-separate transmission mode such that the sets ofimage data are interspersed with the sets of attribute data and printcontrol instruction data, as indicated at F5 in FIG. 9, as in theoriginal print data file as indicated at F1.

In the illustrated embodiments, the keyboard 111 is used in step S12 ofFIG. 8 or S41 of FIG. 16 to enter the file name of a new set of imagedata which replaces an original set of image data. However, the filename of the set new of image data may be specified by using a directoryor a linkage editor.

Although the print control device 300 is spaced from the printer 200 andis electrically connected to the printer 200 through the cable 402, theprint control device 300 may be an integral part of the printer 200.

What is claimed is:
 1. A print control device interposed between acomputer and a printer for processing print data received from saidcomputer so that the processed print data are available on said printer,said print control device comprising:a first interface circuit forreceiving said print data from said computer; memory means for storingsaid print data received by said first interface circuit, said printdata comprising first direct image data and non-direct image data, whichare data other than said first direct image data and comprise printcontrol data for controlling at least a printing operation according tosaid first direct image data; data storage controlling means forseparately storing in said memory means said first direct image data asa direct image data file and said non-direct image data as a non-directimage data file, said non-direct image data file being separate fromsaid direct image data file; data converting means for interpreting saidnon-direct image data of said non-direct image data file stored in saidmemory means, and converting, when said non-direct image data includeindirect image data, said indirect image data into second direct imagedata; data synthesizing means for synthesizing said second direct imagedata obtained by said data converting means, and said first direct imagedata stored in said memory means; and a second interface circuit fortransmitting to said printer said first and second direct image data assynthesized by said data synthesizing means.
 2. A print control deviceaccording to claim 1, wherein said computer and said printer are spacedfrom said print control device, and wherein said first and secondinterface circuits are connected to said computer and said printer,respectively, by respective cables.
 3. A print control device accordingto claim 1, wherein said memory means comprises an external memory, andsaid print control device further comprises a dynamic memory having asmaller data storage capacity than said external memory, and a directmemory access circuit for direct data transmission among said first andsecond interface circuits, said dynamic memory and said external memory.4. A print control device according to claim 1, wherein said directimage data file includes a plurality of first direct image data sets,while said non-direct image data file includes a plurality of printcontrol data sets which correspond to said plurality of first directimage data sets, respectively, and said direct image data file and saidnon-direct image data file are stored in said memory means such thatsaid plurality of print control data sets are not interspersed with saidplurality of first direct image data sets.
 5. A print control deviceaccording to claim 1, further comprising:a dual port memory having twoports so that each of memory cells of said dual port memory areaccessible through said two ports; a first processing unit connected toone of said two ports of said dual port memory, for controlling datatransmission among said dual port memory, said memory means and saidsecond interface circuit; and a second processing unit which isconnected to the other of said two ports of said dual port memory andwhich functions as said data converting means and said data synthesizingmeans.
 6. A print control device according to claim 1, wherein saidprint control device further comprises means for converting said firstdirect image data into first segment data such that sets of firstsegment data are sequentially added in the form of a list, and whereineach of said sets of first segment data comprises segment start dataindicative of a beginning of a segment, segment end data indicative ofan end of said segment, connection data indicative of a pointer in thelist, and file name data indicative of a name of said first direct imagedata, said data converting means comprising means for converting saidnon-direct image data into second segment data such that sets of secondsegment data are sequentially added in the form of a list, and whereineach of said sets of second segment data comprise said segment startdata, said segment end data, said connection data, and color dataindicative of a color of said segment.
 7. A print control deviceaccording to claim 1, wherein said non-direct image data furthercomprise at least one of character data representative of characters,and graphic data representative of graphic representations.
 8. A methodof processing print data received from a computer so that the processedprint data are available on a printer, said method comprising:a storingstep of separately storing in memory means said print data received fromsaid computer, such that first direct image data included in said printdata are stored as a direct image data file, while non-direct image dataincluded in said print data are stored as a non-direct image data file,said non-direct image data file being separate from said direct imagedata file, said non-direct image data being data other than said firstdirect image data and comprising indirect image data and print controldata for controlling at least a printing operation according to saidfirst direct image data; a converting step of interpreting saidnon-direct image data of said non-direct image data file stored in saidmemory means, and converting said indirect image data into second directimage data; a synthesizing step of synthesizing said second direct imagedata obtained in said converting step, and said first direct image datastored in said memory means; and a transmitting step of transmitting tosaid printer said first and second direct image data as synthesizing insaid step of synthesizing said second and first direct image data.
 9. Amethod according to claim 8, wherein said direct image data fileincludes a plurality of first direct image data sets, while saidnon-direct image data file includes a plurality of print control datasets which correspond to said plurality of first direct image data sets,respectively, and said direct image data file and said non-direct imagedata file are stored in said memory means such that said plurality ofprint control data sets are not interspersed with said plurality offirst direct image data sets.